package com.ruoyi.system.service;

import java.util.List;
import com.ruoyi.system.domain.ResultManagement;
import com.ruoyi.system.domain.PhysicalManagement;
import com.ruoyi.system.domain.DbPhysicalManagement;
import com.ruoyi.system.domain.dto.StatisticsDTO;

/**
 * 四级联考终审结果Service接口
 * 
 * @author ruoyi
 * @date 2025-04-02
 */
public interface IResultManagementService 
{
    /**
     * 查询四级联考终审结果
     * 
     * @param id 四级联考终审结果主键
     * @return 四级联考终审结果
     */
    public ResultManagement selectResultManagementById(Long id);

    /**
     * 查询四级联考终审结果列表
     * 
     * @param resultManagement 四级联考终审结果
     * @return 四级联考终审结果集合
     */
    public List<ResultManagement> selectResultManagementList(ResultManagement resultManagement);

    /**
     * 新增四级联考终审结果
     * 
     * @param resultManagement 四级联考终审结果
     * @return 结果
     */
    public int insertResultManagement(ResultManagement resultManagement);

    /**
     * 修改四级联考终审结果
     * 
     * @param resultManagement 四级联考终审结果
     * @return 结果
     */
    public int updateResultManagement(ResultManagement resultManagement);

    /**
     * 批量删除四级联考终审结果
     * 
     * @param ids 需要删除的四级联考终审结果主键集合
     * @return 结果
     */
    public int deleteResultManagementByIds(Long[] ids);

    /**
     * 删除四级联考终审结果信息
     * 
     * @param id 四级联考终审结果主键
     * @return 结果
     */
    public int deleteResultManagementById(Long id);
    
    /**
     * 从体能测评名单生成并插入终审结果名单
     * 
     * @param physicalList 符合条件的体能测评名单数据列表
     * @param operName 操作用户
     * @return 结果
     */
    public int insertResultListFromPhysical(List<PhysicalManagement> physicalList, String operName);
    
    /**
     * 从递补体能测评名单生成并插入终审结果名单
     * 
     * @param dbPhysicalList 符合条件的递补体能测评名单数据列表
     * @param operName 操作用户
     * @return 结果
     */
    public int insertResultListFromDbPhysical(List<DbPhysicalManagement> dbPhysicalList, String operName);

    /**
     * 获取四级联考终审结果统计数据
     * 
     * @return 统计数据
     */
    public StatisticsDTO getResultStatistics();
}
